Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Розробка системних програмних модулів та компонент систем програмування

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2011
Тип роботи:
Курсова робота
Предмет:
Системне програмування та операційні системи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЕОМ  КУРСОВА РОБОТА з предмету “Системне програмування” на тему : “Розробка системних програмних модулів та компонент систем програмування.” ВАРІАНТ N° 43 АНОТАЦІЯ В даному курсовому проекті розроблено транслятор вхідної мови програмування згідно заданого варіанту. Оболонка транслятора розроблена в середовищі Visual Studio за допогою MFC. Сам транслятор написанний на мові C++, та поданий у пояснювальній записці, а також разом з оболонкою в електронному варіанті. В пояснювальній записці подано детальний опис мови, огляд існуючих методів розробки трансляторів, а також описано процес розробки програми транслятора на рівні блок-схем і тексту програми. До проекту додано результати тестування програми. ЗМІСТ АНОТАЦІЯ 2 ЗМІСТ 3 ЗАВДАННЯ НА КУРСОВУ РОБОТУ 5 ВСТУП 7 1.ОГЛЯД МЕТОДІВ ТА СПОСОБІВ ПРОЕКТУВАННЯ ТРАНСЛЯТОРІВ 8 1.1. Опис мов програмування 8 1.2. Однопрохідна організація взаємодії блоків транслятора 12 1.3. Комбіновані взаємодії блоків транслятора 14 2.ФОРМАЛЬНИЙ ОПИС ВХІДНОЇ МОВИ ПРОГРАМУВАННЯ 15 2.1. Деталізований опис вхідної мови в термінах розширеної нотації Бекуса-Наура 15 2.2 Опис термінальних символів та ключових слів 15 3.РОЗРОБКА ТРАНСЛЯТОРА ВХІДНОЇ МОВИ ПРОГРАМУВАННЯ 17 3.1. Вибір технології програмування 17 3.2. ЛЕКСИЧНИЙ АНАЛІЗАТОР 18 3.2.1. Розробка лексичного аналізатора 18 3.2.2 Опис програми реалізації лексичного аналізатора 18 3.3. СИНТАКСИЧНИЙ АНАЛІЗАТОР 21 3.3.1. Розробка синтаксичного аналізатора 22 3.3.2 Розробка дерев граматичного розбору 22 3.3.3. Опис програми реалізації синтаксичного аналізатора 22 3.4. ГЕНЕРАТОР КОДУ 24 3.4.1. Розробка генератора коду 24 3.4.2. Опис програми реалізації генератора коду 24 ВИСНОВКИ 26 СПИСОК ЛІТЕРАТУРИ 27 ДОДАТКИ А. Лістинг програм А1. Файл «translator.h» А2. Файл «main.cpp» А3. Файл «lex_an.cpp» А4. Файл «syn_an.cpp» А5. Файл «gen_code.cpp» А6. Файл « errors.cpp» Б. Тестова програма ЗАВДАННЯ НА КУРСОВУ РОБОТУ 1. Цільова мова транслятора асемблер (iх86). 2. Для отримання виконавчого файлу на виході розробленого транслятора скористатися програмами tasm32.exe і tlink32.exe. 3. Мова розробки транслятора: ANSI C або C++. 4. Реалізувати оболонку або інтерфейс з командного рядка. 5. На вхід розробленого транслятора має подаватися текстовий файл, написаний на заданій мові програмування. 6. На виході розробленого транслятора мають створюватись чотири файли: файл з повідомленнями про помилки (або про їх відсутність); файл на мові асемблера; об’єктний файл; виконавчий файл.  7. Назва вхідної мови програмування утворюється від першої букви у прізвищі студента та останніх двох цифр номера його варіанту. Саме таке розширення повинні мати текстові файли, написані на цій мові програмування. Таблиця 1. Опис вхідної мови програмування. Опис Синтаксис Приклад  Блок тіла програми NAME<name>; DATA…; BODY-END Name<name> start data <опис змінних>; <тіло програми> Body-end  Оператори вводу-виводу input output scan(Ytrg); /* змінна */ print (Ytrg +Jytf); /* вираз*/ print (“рядок”); /* рядок */  Оператор присвоєння -> Ytrg << 1; Ytrg <<Ytrg +Jytf; Ytrg << Ytrg *( Ytrg +4);  Оператор if [–else] (СІ) if (Ytrg == Jytf) start _A >> 0; _B >> 1; end else start _A >> 1; _B >> 0; end  Регістр ключових слів  Up NAME<name>  Регістр ідентифікаторів  Low8 перший символ Jytf  Арифметичні операції +; -; *; /; % Ytrg >>Ytrg +Jytf; Ytrg >>Ytrg -Jytf; Ytrg >>Ytrg *Jytf; Ytrg >>Ytrg /Jytf; Ytrg >>Ytrg %Jytf;  Операції порівняння == =! Le ge if (Ytrg ==Jytf) ... if (Ytrg=!Jytf) ...  Логічні операції !; &; | ; Ytrg >>Ytrg !; Ytrg >>Ytrg &Jytf; Ytrg >>Ytrg |Jytf;  Типи даних  Int_4 ... data int_4 Ytrg, Ytrg >>18, ...  Коментар  /*….*/ !! Coment   ВСТУП В даний час штучні мови, що використовують для опису предме...
Антиботан аватар за замовчуванням

14.04.2013 01:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини